This invention relates to a digital network including a plurality of distributed network elements receiving information from a central source and more particularly to a method and system for automatically distributing the information to the elements in a dynamic environment.
1. Background
Within a network such as an asynchronous transfer mode (ATM) backbone it is often required to maintain information at a central source, for example a network manager, while ensuring that each of the elements in the network is also kept up-to-date with the same information. If the importance of the information being maintained is high, it is necessary to ensure that this synchronization is guaranteed at all times.
Ideally, the information of the central source should be kept in sync on the network elements automatically. For example, if an element is added to the network it should be updated with the information as soon as the element becomes available. When elements in the network become temporarily unreachable and changes are made to the centralized information, the element should be updated when it becomes reachable again.
In large networks, with large volumes of centralized information, performance and network bandwidth are also key factors. The system must be able to respond quickly to network changes as well as distribute new or changed information to network elements quickly. The amount of information sent to the network elements should be kept as minimal as possible (so as not to waste bandwidth). In some applications the information must be delivered in the order in which it is entered into the central system.
2. Prior Art
One typical approach to solve this problem is by using tables to track which information has to be sent to each element in the network. If elements are temporarily unreachable a list of outstanding items for that element is maintained. However, in large networks with large volumes of information to distribute, these lists can become unmanageably large and can also hinder performance of the distributing system and of the network.
Another typical approach is to sacrifice network bandwidth by sending the entire central table of information each time a node must be updated. This removes the requirement to keep potentially large lists of information that need to be sent. However, in large networks with large volumes of information to distribute, this approach requires much more network bandwidth and can also hinder the performance of the distributor. Modifications to the central table(s) become prohibitive due to the network cost of distribution.
A third typical approach is to maintain the status of each element""s synchronization at the element itself. This requires maintenance of status tables across the network and also suffers performance degradation and unnecessary bandwidth usage.
As an example, if the system were to keep a list for each node of (pointers to) those items that need to be sent to the node, in a network with 1,000 elements and 10,000 table entries if only 50 new table entries are added, 50,000 items must be maintained in the list, temporarily (i.e. 1000*50 =50,000). If 5 new nodes are added to the network, the system must (temporarily) keep a list of 10,000*5 =50,000 items to distribute. In a more extreme case, if 1000 entries are added when the entire network is temporarily unreachable (for example, during a maintenance window) then 1000*1000=1,000,000 list items must be maintained.
The present invention is applicable to network environments where guaranteed synchronization of information at elements with a central source is required.
Using the approach described in this application, regardless of network conditions and during table modifications, the system always maintains the same number of information transactions or items as there are elements and table entries. In the above example, the system would always have 11,000 list items to keep track of (even if all 10,000 table entries are added when all 1000 elements are unreachable).
Therefore in accordance with a first aspect of the present invention there is provided a system for distributing information at a central source to network elements in a digital communication network. The system comprises distribution means associated with the central source for monitoring table entries originating at the source, storage means for recording details of the table entries and to provide a transaction numbers for each entry, means to monitor the current status of each network element, and means to record a transaction number for the last table entry having been received by each element, whereby a transaction numbering scheme is used to dynamically control distribution of table entries to each element in the network.
In accordance with a second aspect of the present invention there is provided a method of distributing information at a central source to elements within a distributed network. The method comprises the steps of: maintaining a list of table entries originating at the source; dynamically assigning a transaction number to each table entry; monitoring the status of each network element; maintaining a record of the last table entry received at each element; and distributing to each element, the table entries in a sequential manner according to a transaction number scheme.